/*
 * ManejadorContexto.h
 *
 *  Created on: 03/06/2010
 *      Author: Grupo Klow
 */

#ifndef MANEJADORCONTEXTO_H_
#define MANEJADORCONTEXTO_H_

#include "../Contexto.h"

#define LONGITUD_BLOQUE 4096

class ManejadorContexto{

public:

	enum Resultado {
				  OPERACION_FALLIDA,
				  OPERACION_EXITOSA
				};

	virtual Contexto* buscarContexto(string contextoNombre) = 0;

	virtual ManejadorContexto::Resultado altaContexto(Contexto* contexto) = 0;

	virtual ManejadorContexto::Resultado modificarContexto(Contexto* contexto) = 0;

	static char * getNombreTemp(string nombre_archivo);

	virtual void imprimirContextos (FILE * salida) = 0;

	void imprimirContextoParticular (FILE * salida, string contextoNombre);

	void imprimirHelper (FILE * salida, Contexto * ctx);

	virtual ~ManejadorContexto(){};

};


#endif /* MANEJADORCONTEXTO_H_ */
